package com.itchen.service;

import com.itchen.domain.dto.PermissionDTO;
import com.itchen.domain.entity.Permission;

import java.util.List;

/**
 * 权限服务接口
 */
public interface PermissionService {
    
    /**
     * 获取权限树
     * @return 权限树列表
     */
    List<PermissionDTO> getPermissionTree();
    
    /**
     * 获取用户菜单
     * @return 用户菜单树
     */
    List<PermissionDTO> getUserMenu();
    
    /**
     * 获取所有权限列表
     * @return 权限列表
     */
    List<Permission> listAllPermissions();
    
    /**
     * 根据ID获取权限
     * @param id 权限ID
     * @return 权限信息
     */
    Permission getPermissionById(Integer id);
    
    /**
     * 添加权限
     * @param permission 权限信息
     * @return 是否成功
     */
    boolean addPermission(Permission permission);
    
    /**
     * 更新权限
     * @param permission 权限信息
     * @return 是否成功
     */
    boolean updatePermission(Permission permission);
    
    /**
     * 删除权限
     * @param id 权限ID
     * @return 是否成功
     */
    boolean deletePermission(Integer id);
} 